Navigation and localization have always been important to mankind, and maps have been developed since the first systematic explorations started. Today, localization is in almost all applications performed by electronic systems, where global navigation satellite systems (GNSS) provide a robust, global and versatile solution for localization suitable for almost all outdoor applications. Navigation systems also involve determination of orientation and speed. Either separate sensors as electronic compass and speedometers can be used, or the positions from GNSS can be filtered to provide these additional features.
Indoor localization and navigation is a much harder task, but it is still an important application for many humans and autonomous systems moving around in complex indoor environments. The GNSS approach does not work due to the weak radio signals that are shielded and reflected by the building construction.
There are two main approaches available for indoor navigation based on different information sources:
1) Landmark based navigation, where the indoor landmarks with known position are deployed in the indoor environment, and the user is equipped with a map of these landmarks. The localization algorithm consists of triangulation and trilateration based on detection of one or more of these landmarks. This includes fingerprinting of radio signal strength indications (RSSI) from WiFi, cell phone base stations, Bluetooth Low Energy (BLE) or other radio beacons. The advantages of landmark based navigation include robust, potentially quite accurate, drift-free localization. To implement such an approach, simple localization algorithms can be utilized, e.g., filter methods are not needed but can be used to get smooth trajectories. However, landmark based navigation requires pre-installed infrastructure and tedious mapping. The approach is also sensitive to modification of the mobile radio beacons, their position or other changes of the radio environment.
2) Dead-reckoning based on inertial measurements and map based corrections. The basic principle of dead-reckoning is to integrate speed and heading changes to a global heading and position. Since velocity and heading rate are subject to offsets and disturbances, the integrated position will quickly diverge from or “drift away” from the true position. An indoor map is then required to stabilize the solution to stay in a feasible set of indoor positions, and to provide feedback of the actual offset values. An advantage of dead-reckoning is that it is a general and well known principle requiring only sensors in the device and no infrastructure. The approach works well potentially in indoor environments with a limited number of alternatives to move (the map is informative). However, dead-reckoning requires more complex algorithms, where filtering is required. The approach works less well in open indoor areas, where there is little information in the map. Further, drifting of the position estimate is common.
These principles can be combined into one solution that potentially avoids all the aforementioned disadvantages, but such an approach still faces many hard challenges and still requires a complex algorithm.
Changes in heading are the most important information in the dead-reckoning approach, besides the indoor map itself. As an example, in an office building, it is often sufficient to keep track of the 90 degree turns and the distance in between the turns. Given a starting point and assuming fairly constant speed, it is then possible to figure out the path, which is a simple task for a human. Computers can do this inference systematically, by evaluating a large number of alternatives and then selecting the one that best fits the observed changes in heading. The question is how to compute the heading change based on available sensors in a user carried device. Many hand-held devices, such as for instance smart phones, have both gyroscopes and vector magnetometers that relate to heading.
The most natural alternative is to start with the vector magnetometer, since its standard use is as a compass sensor, i.e., a heading sensor. If the user carried device has a fixed orientation relative to the moving person or object, and if the person is walking upright without tilting or rotating the device, then changes in the heading are directly detected from changes in the compass heading provided by the magnetometer. However, many indoor environments have large and frequent magnetic disturbances that would trigger a lot of false heading changes. Also, one cannot assume that the device is in a constant orientation relative the person all the time.
Gyroscopes are normally used to measure angular rates, including heading changes which are the angular rate projected onto the horizontal plane. The projection requires that 3 the downward direction is known. This can be computed from a vector accelerometer. Now, the angular rate has a rather large offset in consumer grade sensors, on the order of degrees per second. This offset further drifts over time, and cannot be calibrated once for all. The offset in combination with uncertainty in downward direction gives a large drift 5 in heading that is not easily stabilized. All in all, gyroscopes are in themselves not well suited to detect heading changes, and are useless for heading determination. Moreover, changes in the orientation of the device relative its user can be falsely interpreted as a turn.